AWS Lambda のランタイムとランタイムバージョンの違いについて教えて下さい

AWS Lambda のランタイムとランタイムバージョンの違いについて教えて下さい

Clock Icon2024.08.13

困っていること

AWS Lambda のランタイムとランタイムバージョンの違いについて教えて下さい。

違いの解説

Lambda のランタイムについて

ランタイムとは、Lambda 関数を実行する特定のプログラミング言語とそのメジャーリリースバージョンを指定するものになります。

ランタイムの詳細につきましては「Lambda ランタイム - AWS Lambda」をご参照ください。

====抜粋====

プログラミング言語のメジャーリリースにはそれぞれ別個のランタイムがあり、固有のランタイム識別子 (nodejs20.x または python3.12 など) を持っています。

新しいメジャー言語バージョンを使用するように関数を設定するには、ランタイム識別子を変更する必要があります。

==========

ランタイムの例

Python 3.12、Node.js 20.x、Ruby 3.3 など

Lambda のランタイムバージョンについて

ランタイムバージョンとは、 Lambda が別個のランタイムについてセキュリティ更新やバグ修正などの適用を管理する、通し番号および ARN を指定するものになります。

例えば現行の Python 3.12 のランタイムバージョンは v29 となります。

ランタイムバージョンの詳細につきましては、参考資料「Lambda がランタイムバージョンの更新を管理する方法を理解する - AWS Lambda」をご参照ください。

====抜粋====

Lambda は、セキュリティ更新、バグ修正、新機能、パフォーマンス強化、およびマイナーバージョンリリースのサポートを使用して、各マネージドランタイムを最新の状態に保ちます。

これらのランタイム更新は、ランタイムバージョンとして発行されます。

==========

ランタイムバージョンの例

  • Runtime Version: python:3.8.v52

Runtime Version ARN: arn:aws:lambda:ap-northeast-1::runtime:d2da00eeedb26cf3d2faaca725b024098a35c6e8a9c894dfa7015d02f6659c0a

  • Runtime Version: python:3.12.v29

Runtime Version ARN: arn:aws:lambda:ap-northeast-1::runtime:667e80dac4962c4a1f927081606a12af179d00b3a26cdfbb722761c50c4e7391

ランタイムバージョンの通し番号を確認する方法

ランタイムバージョンの通し番号は、Lambda 関数 の CloudWatch 実行ログから確認できます。

コールドスタート時に、INIT_START で始まるログが出力されています。

ランタイムバージョン確認

確認方法の詳細につきましては、参考資料「[アップデート] AWS Lambdaで新しい「ランタイム管理設定」が追加されました | DevelopersIO」をご参照ください。

参考資料

  • Lambda ランタイム - AWS Lambda

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-runtimes.html

  • Lambda がランタイムバージョンの更新を管理する方法を理解する - AWS Lambda

https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html

  • [アップデート] AWS Lambdaで新しい「ランタイム管理設定」が追加されました | DevelopersIO

https://dev.classmethod.jp/articles/aws-lambda-supports-runtime-management-controls/

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.